package top.zhdev.community.service;

import java.util.List;
import java.util.Map;

/**
 * 关注业务处理接口
 */
public interface FollowService {
    /**
     * 查询用户关注了多少实体
     * @param userId
     * @param entityType
     * @return
     */
    long getFolloweeCount(int userId, int entityType);

    /**
     * 查询用户的粉丝数量
     * @param userId
     * @param entityTypeUser
     * @return
     */
    long getFollowerCount(int userId, int entityTypeUser);

    /**
     * 查询用户是否已关注该实体
     * @param id
     * @param entityTypeUser
     * @param userId
     * @return
     */
    boolean hasFollowed(Integer id, int entityTypeUser, int userId);

    /**
     * 查询该用户关注的实体
     * @param userId
     * @param offset
     * @param limit
     * @return
     */
    List<Map<String, Object>> getFollowees(int userId, int offset, int limit);

    /**
     * 查询该用户的粉丝信息
     * @param userId
     * @param offset
     * @param limit
     * @return
     */
    List<Map<String, Object>> getFollowers(int userId, int offset, int limit);
}
